The emergence of various digital video technologies in industries such as broadcast television, communications networks, consumer electronics, and multimedia computers continues to increase at a remarkable rate. This widespread use of applications is motivated by the fact that signal processing, editing and data transfer of digital information is much easier compared to performing the same tasks with analog representations. As importantly, digital video owes its popularity to the several standards that have been created for digital video compression.
Digital video compression solutions are arguably the most important component of any digital video platform. Since digital video is known to contain an enormous amount of information in uncompressed format, its manipulation, storage, and transmission can be very time consuming and expensive, if not prohibitive. As a result, digital video compression techniques are needed to reduce the overwhelming volume of data while preserving the perceptual quality of its content. A compatible video decompression scheme is then used to decompress the data for playback.
The MPEG-2 international standard formed by the Moving Pictures Expert Group, and described in ISO/IEC 13818-2, “Information Technology—Generic Coding of Moving Pictures and Associated Audio Information: Video, 1996,” which is hereby incorporated herein by reference in its entirety, is intended to standardize compression for the industries noted above. The ISO MPEG-2 standard specifies the syntax of the encoded bit stream and semantics of the decoding process. The choice of coding parameters and trade-offs in performance versus complexity, however, are left to the encoder developer.
The efficiency of the MPEG-2 encoding system is assessed by the fidelity of the perceived video transmitted over a fixed communication bandwidth or stored into a digital medium. For some applications, such as digital satellite systems, multiple programs are multiplexed into a single large stream for broadcasting, and a bank of MPEG-2 encoders are used to monitor and encode all programs, while maintaining the quality of all received channels. The MPEG-2 stream is sent over either a fixed communications bandwidth or a dynamic bandwidth as in asynchronous transfer mode (ATM) networks. For home consumer video or PC applications, where the size of the storage media is limited, the user would like to accumulate as much information as possible, and an efficient encoding technique is beneficial to accomplishing this goal.
Video compression algorithms use various techniques to limit the amount of bits used to represent the video stream (or bit rate). Based on the nature of limits imposed on the bit rate, such techniques can broadly be classified into two categories: (1) constant bit rate (CBR) mode or (2) variable bit rate (VBR) mode. Most MPEG-2 encoders are developed to perform in CBR mode, where the average bit rate of the video stream is almost the same from start to finish. A video stream includes a plurality of pictures or frames of various types, such as I, B, and P picture types. A picture, depending on its type, may consume more or less bits than the set target rate of the video stream. The CBR rate control strategy has the responsibility of maintaining a bit ratio between the different picture types of the stream, wherein the desired average bit rate is satisfied, and a high quality video sequence is displayed. In CBR mode, the number of bits that can be transmitted to a video decoder in a given time interval is typically fixed. Furthermore, the video decoder uses a buffer of pre-specified size referred to as the video buffer verifier (VBV), to store the compressed video stream. Examples of this solution arise in over-the-air broadcast, cable transmission and satellite transmission of compressed video. These two restrictions inherently force the video compression (i.e., encoder) algorithm to restrict the amount of variability in the number of bits used to code successive video frames. Thus, this technique may produce visible artifacts in the decompressed video when it is used on long stretches of highly complex video.
Other encoders, including other MPEG-2 encoders, perform in the VBR mode. Variable bit rate encoding allows each compressed picture to have a different amount of bits based on the complexity of the intra and inter-picture characteristics. For example, the encoding of scenes with simple picture content (such as a color test pattern) will consume significantly fewer bits than scenes with complicated picture content (such as a crowded city street), in order to achieve the same picture quality. In VBR mode, the total number of bits used to compress a long stretch of video is typically fixed. However, the limits on instantaneous bit rate used to compress the video are practically non-existent. Examples of this situation arise in the case of video compressed to be stored on digital versatile discs (DVDs) or on the hard disk of a PC. As can be expected, VBR algorithms can compress video at a much higher quality than CBR algorithms at the same average bit rate.
CBR and VBR algorithms can be further subdivided into single pass or multi-pass algorithms. In the case of single pass algorithms, only a few frames of video (if any) succeeding the frame being compressed, are analyzed before deciding on the compression parameters to be used for the frame in question. Multi-pass algorithms use at least one trial pass through the video to determine the relative complexity of different portions of the video and then use this information to compress the video in a subsequent pass. VBR encoding algorithms are conventionally accomplished in non-real time using two or more passes. Multi-pass algorithms also conventionally offer better performance than single pass implementations. However, in the case of many applications, it is not possible to implement multiple passes through the video stream. For example, multi-pass encoders can not be used when compressing broadcast video and storing it on a hard drive, as applicable to popular consumer video appliances supplied by TIVO™ or Replay TV™. However, such devices can make use of VBR encoding, since the only practical restriction on the bit rate used to compress the video is the size of the hard disk. This is an application for which the concepts disclosed herein can be used advantageously.
To summarize, a need exists in the art for a novel single pass variable bit rate control strategy and encoder which provides enhanced performance and quality over prior encoding algorithms.